package com.huaxonline.boot.log;

import java.lang.annotation.*;

@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebLogAnnotation {
    /**
     * 展示名/模板，可选。若未设置，建议在AOP中回退到 @Operation(summary) 或方法签名
     */
    String value() default "";

    /** 业务域（如: user/order等），可选 */
    String category() default "";

    /** 事件/动作（如: create/update/delete等），可选 */
    String event() default "";

    /** 自定义标签 */
    String[] tags() default {};

    /** 需要脱敏的字段名 */
    String[] maskFields() default {};

    /** 是否忽略记录 */
    boolean ignore() default false;

    /** 采样率 [0.0, 1.0] */
    double sampleRate() default 1.0D;
}
